package com.xrh.core.interfaces;

import java.util.HashMap;
import java.util.Map;

import com.xrh.core.bean.EnumInfo;

/**
 * @function 枚举接口
 * @author 肖荣辉
 * @date 2021年8月28日
*/
public interface EnumInf {
	
	/** 
	 * @function 判断文本是否和枚举的名称相等
	 * @author 肖荣辉
	 * @date 2021年8月28日
	*/
	boolean isTextEqualsName(String text);
	
	/**
	 * @function 获取枚举名称和展示名称对照map
	 * @author 肖荣辉
	 * @date 2022年4月7日
	*/
	default  Map<String , String> getEnumNameShowNameMap(){
		return new HashMap<String , String>();
	}
	
	/**
	 * @function 获取枚举说明 , 重写本接口用来说明该枚举用来干嘛
	 * @author 肖荣辉
	 * @date 2022年4月7日
	*/
	default  String notes(){
		return "无说明";
	}
	
	/**
	 * @function 获取枚举信息
	 * @author 肖荣辉
	 * @date 2022年4月20日
	*/
	default EnumInfo getEnumInfo() {
		
		EnumInfo enumInfo = new EnumInfo(); 
		
		enumInfo.setNameShowNameMap(getEnumNameShowNameMap());
		
		enumInfo.setNotes(notes());
		
		return enumInfo;
	}
	
}
